For Lithium-ion (Li-ion) batteries, an imbalance condition between the cells or an over-voltage condition can cause a dangerous failure. Both of these problems, along with the corresponding over-temperature condition, can result in a fire that is not easily extinguished. Battery control circuitry is generally used to monitor the individual cell voltages and maintain any imbalances between cell voltages within a predefined range. The conventional method to balance the cells is to discharge a cell with high voltage (e.g., over-voltage) and dissipate its excess energy (voltage) in form of heat. However, this method results in wasted battery energy. In addition, the dissipated heat is not conducive to Li-ion battery technology as it can create an over-temperature problem for the battery pack that is often unsafe. A safer and more efficient battery balancing circuit is therefore desirable.